﻿using System;

namespace Certify.Properties
{
    // This class allows you to handle specific events on the settings class: The SettingChanging
    // event is raised before a setting's value is changed. The PropertyChanged event is raised after
    // a setting's value is changed. The SettingsLoaded event is raised after the setting values are
    // loaded. The SettingsSaving event is raised before the setting values are saved.
    public sealed partial class Settings
    {
        public Settings()
        {
            // // To add event handlers for saving and changing settings, uncomment the lines below:
            //
            // this.SettingChanging += this.SettingChangingEventHandler;
            //
            // this.SettingsSaving += this.SettingsSavingEventHandler;
        }

        private void SettingChangingEventHandler(object sender, System.Configuration.SettingChangingEventArgs e)
        {
            // Add code to handle the SettingChangingEvent event here.
        }

        private void SettingsSavingEventHandler(object sender, System.ComponentModel.CancelEventArgs e)
        {
            // Add code to handle the SettingsSaving event here.
        }

        /// <summary>
        /// When app assembly version changes, settings won't be preserved unless they are upgraded 
        /// </summary>
        public void UpgradeSettingsVersion()
        {
            try
            {
                Default.Upgrade();
                Default.Save();
            }
            catch (Exception) { }
        }
    }
}